/**
 * @Title: IForumService.java
 * @Package com.zll.ccp.service.forum
 * @author zhanglinlu
 * @date 2019年5月30日 下午3:24:37
 */
package com.zll.ccp.service.forum;

import java.util.List;
import java.util.Map;

import com.zll.ccp.model.forum.MainPosts;
import com.zll.ccp.model.forum.MinorPosts;
import com.zll.ccp.model.forum.Theme;

/**
 * @ClassName: IForumService
 * @Description: 论坛service接口
 * @author zhanglinlu
 * @date 2019年5月30日 下午3:24:37
 * 
 */
public interface IForumService {

    /**
     * @Title: addTheme
     * @Description: 增加主题
     * @param theme
     */
    public void addTheme(Theme theme);

    /**
     * @Title: getThemeList
     * @Description:
     * @return
     */
    public List<Map<String, String>> getThemeList(String name, String ct);

    /**
     * @Title: deleteThemeById
     * @Description: 根据id删除主题
     * @param id 主键
     */
    public void deleteThemeById(String id);

    /**
     * @Title: addMainPosts
     * @Description: 增加主贴
     * @param mainPosts
     */
    public void addMainPosts(MainPosts mainPosts);

    /**
     * @Title: deleteMainPostsById
     * @Description: 根据id删除
     * @param id 主键
     */
    public void deleteMainPostsById(String id);

    /**
     * @Title: getMainPostesByFilter
     * @Description: 根据筛选条件获取主贴列表
     * @param title 标题
     * @param ct 创建时间
     * @param themeid 主题id
     * @return
     */
    public List<Map<String, String>> getMainPostesByFilter(String title, String ct, String themeid);

    /**
     * @Title: getMainPostsById
     * @Description: 根据id获取主贴相关内容
     * @param id 主键id
     * @return
     */
    public Map<String, String> getMainPostsById(String id);

    /**
     * @Title: getMinorPostesByMainId
     * @Description: 根据主贴id获取跟帖list
     * @param id 主贴id
     * @return
     */
    public List<Map<String, String>> getMinorPostesByMainId(String id);

    /**
     * @Title: addMinorPosts
     * @Description: 新增跟帖
     * @param minorPosts
     * @return
     */
    public void addMinorPosts(MinorPosts minorPosts);

    /**
     * @Title: getHotTheme
     * @Description: 获取最热主题
     * @return
     */
    public List<Map<String, String>> getHotTheme();

    /**
     * @Title: getHotTheme
     * @Description: 获取最新主题
     * @return
     */
    public List<Map<String, String>> getNewTheme();

    /**
     * @Title: getHotMain
     * @Description: 获取最热主贴top5
     * @return
     */
    public List<Map<String, String>> getHotMain();

    /**
     * @Title: getNewMain
     * @Description: 获取最新主贴top5
     * @return
     */
    public List<Map<String, String>> getNewMain();
}
